#include <string>

#include <http_client.h>

namespace tc = triton::client;

class ImageEmbedder {
public:
    ImageEmbedder();
    std::vector<float> embedImage(const std::string &image);

private:
    std::vector<unsigned char> readImageBuffer(const std::string &imagePath);
    std::vector<float> preprocessVision(const std::vector<unsigned char>& base64Image);

private:
    std::string modelName_ = "cn-clip-image_onnx";
    std::string modelVersion_ = "";

    std::string httpServerUrl_ = "http://localhost:8000";
    std::unique_ptr<tc::InferenceServerHttpClient> httpClient_;

};